//
// Created by DengLibin on 2019/1/1 0001.
//

//
// Created by DengLibin on 2018/12/31 0031.
//

//
// Created by DengLibin on 2018/12/29 0029.
//

#include <wx/app.h>
#include <wx/wx.h>
#include <wx/wxprec.h>
#include <string>
#include <wx/dcbuffer.h>
using namespace std;
class Demo6Frame : public wxFrame
{
private:
    //声明事件表
wxDECLARE_EVENT_TABLE();


public:
    Demo6Frame(string & title):wxFrame(nullptr, wxID_ANY, title)
    {
        initPosition();
        initPanel();
    }

    void initPanel(){
        //创建最低层面板,垂直布局
        wxPanel * basePanel =new wxPanel(this);
        basePanel->SetBackgroundColour(*wxWHITE); //设置面板背景色
        wxBoxSizer * boxSizer = new wxBoxSizer(wxOrientation::wxVERTICAL);//垂直布局，可用wxHORIZONTAL水平布局替换。
        basePanel->SetSizer(boxSizer);

        // 创建静态文本框
        wxStaticBox * staticBox = new wxStaticBox(basePanel, wxID_ANY,"Setting");
        //静态文本框布局控件
        wxStaticBoxSizer * staticBoxSizer = new wxStaticBoxSizer(staticBox, wxOrientation::wxHORIZONTAL);
        // 在其中增加2个复选框
        wxCheckBox * checkBox = new wxCheckBox(staticBox, wxID_ANY,"item1");
        wxCheckBox * checkBox2 = new wxCheckBox(staticBox, wxID_ANY,"item2");
        staticBoxSizer->Add(checkBox);
        staticBoxSizer->Add(checkBox2);

        boxSizer->Add(staticBoxSizer);


    }

    void initPosition(){
        //设置窗口位置
        wxPoint position;
        position.x = 300;
        position.y = 300;
        SetPosition(position);
        //设置背景色
        wxColour backGroundColor(0,100,0);
        SetBackgroundColour(backGroundColor);
        //设置宽高
        this->m_minWidth = 800;
        this->m_minHeight = 600;
    }

};


class Demo6App:public wxApp
{
    bool OnInit()
    {
        string title = "Demo6";
        //  wxFrame * frame = new wxFrame(NULL, wxID_ANY, "第一个窗体");
        Demo6Frame * frame = new Demo6Frame(title);
        frame->Show();
        return true;
    }
};
//事件和函数绑定
wxBEGIN_EVENT_TABLE(Demo6Frame, wxFrame)
wxEND_EVENT_TABLE()

// 有了这一行就可以使用 OurApp& wxGetApp了()
DECLARE_APP(Demo6App)
//告诉主应用程序是哪个类wxWidgets（启动）
//IMPLEMENT_APP(Demo6App)
